#pragma once

#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <SelectMgr_Filter.hxx>
#include "TopoDS_Face.hxx"
#include "TopoDS_Wire.hxx"
#include "TopTools_ListOfShape.hxx"

class SelectMgr_EntityOwner;
class Select_RectSlotFilter;
DEFINE_STANDARD_HANDLE(Select_RectSlotFilter, SelectMgr_Filter)

class Select_RectSlotFilter :
	public SelectMgr_Filter
{
public:
	Select_RectSlotFilter(TopTools_ListOfShape aFaceList);

	~Select_RectSlotFilter();

	virtual Standard_Boolean IsOk(const Handle(SelectMgr_EntityOwner)& anobj) const Standard_OVERRIDE;

	virtual Standard_Boolean ActsOn(const TopAbs_ShapeEnum aStandardMode) const Standard_OVERRIDE;

	DEFINE_STANDARD_RTTIEXT(Select_RectSlotFilter, SelectMgr_Filter)

protected:

	TopTools_ListOfShape myFaceList;
};

